Compressed Video Formats
Basic standards for compressing the bandwidth of digital color video signals have been adopted by the Motion Picture Experts Group (MPEG). The MPEG standards achieve high data compression rates by developing information for a full frame of the image only every so often. The full image frames, i.e. intra-coded frames, are often referred to as “I-frames” or “anchor frames,” and contain full frame information independent of any other frames. Image difference frames, i.e. inter-coded frames, are often referred to as “B-frames” and “P-frames,” or as “predictive frames,” and are encoded between the I-frames and reflect only image differences i.e. residues, with respect to the reference frame.
Typically, each frame of a video sequence is partitioned into smaller blocks of picture element, i.e. pixel, data. Each block is subjected to a discrete cosine transformation (DCT) function to convert the statistically dependent spatial domain pixels into independent frequency domain DCT coefficients. Respective 8×8 or 16×16 blocks of pixels, referred to as “macro-blocks,” are subjected to the DCT function to provide the coded signal.
The DCT coefficients are usually energy concentrated so that only a few of the coefficients in a macro-block contain the main part of the picture information. For example, if a macro-block contains an edge boundary of an object, the energy in that block after transformation, i.e., as represented by the DCT coefficients, includes a relatively large DC coefficient and randomly distributed AC coefficients throughout the matrix of coefficients.
A non-edge macro-block, on the other hand, is usually characterized by a similarly large DC coefficient and a few adjacent AC coefficients which are substantially larger than other coefficients associated with that block. The DCT coefficients are typically subjected to adaptive quantization, and then are run-length and variable-length encoded for the transmission medium. Thus, the macro-blocks of transmitted data typically include fewer than an 8×8 matrix of codewords.
The macro-blocks of inter-coded frame data, i.e. encoded P or B frame data, include DCT coefficients which represent only the differences between a predicted pixels and the actual pixels in the macro-block. Macro-blocks of intra-coded and inter-coded frame data also include information such as the level of quantization employed, a macro-block address or location indicator, and a macro-block type. The latter information is often referred to as “header” or “overhead” information.
Each P frame is predicted from the lastmost occurring I or P frame. Each B frame is predicted from an I or P frame between which it is disposed. The predictive coding process involves generating displacement vectors, often referred to as “motion vectors,” which indicate the magnitude of the displacement to the macro-block of an I frame most closely matches the macro-block of the B or P frame currently being coded. The pixel data of the matched block in the I frame is subtracted, on a pixel-by-pixel basis, from the block of the P or B frame being encoded, to develop the residues. The transformed residues and the vectors form part of the encoded data for the P and B frames.
Older video standards, such as ISO MPEG-1 and MPEG-2, are relatively low-level specifications primarily dealing with temporal and spatial compression of video signals. With these standards, one can achieve high compression ratios over a wide range of applications. Newer video coding standards, such as MPEG-4, see “Information Technology—Generic coding of audio/visual objects,” ISO/IEC FDIS 14496-2 (MPEG4 Visual), November 1998, allow arbitrary-shaped objects to be encoded and decoded as separate video object planes (VOP). These emerging standards are intended to enable multimedia applications, such as interactive video, where natural and synthetic materials are integrated, and where access is universal. For example, one might want to extract features from a particular type of video object, or to perform for a particular class of video objects.
With the advent of new digital video services, such as video distribution on the INTERNET, there is an increasing need for signal processing techniques for identifying information in video sequences, either at the frame or object level, for example, identification of activity.
Feature Extraction
Previous work in feature extraction for identification and indexing from compressed video has primarily emphasized DC coefficient extraction. In a paper entitled “Rapid Scene Analysis on Compressed Video,” IEEE Transactions on Circuits and Systems for Video Technology, Vol. 5, No. 6, December 1995, page 533-544, Yeo and Liu describe an approach to scene change detection in the MPEG-2 compressed video domain. The authors also review earlier efforts at detecting scene changes based on sequences of entire uncompressed image data, and various compressed video processing techniques of others. Yeo and Liu introduced the use of spatially reduced versions of the original images, so-called DC images, and DC sequences extracted from compressed video to facilitate scene analysis operations. Their “DC image” is made up of pixels which are the average value of the pixels in a block of the original image and the DC sequence is the combination of the reduced number of pixels of the DC image. It should be noted that the DC image extraction based technique is good for I-frames since the extraction of the DC values from I-frames is relatively simple. However, for other type frames, additional computation is needed.
Won et al, in a paper published in Proc. SPIE Conf. on Storage and Retrieval for Image and Video Databases, January 1998, describe a method of extracting features from compressed MPEG-2 video by making use of the bits expended on the DC coefficients to locate edges in the frames. However, their work is limited to I-frames only. Kobla et al describe a method in the same Proceedings using the DC image extraction of Yeo et al to form video trails that characterize the video clips.
Feng et al. (IEEE International Conference on Image Processing, Vol. 11, pp. 821-824, Sep. 16-19, 1996), use the bit allocation across the macro-blocks of MPEG-2 frames to detect shot boundries, without extracting DC images. Feng et al.'s technique is computationally the simplest since it does not require significant computation beyond that required for parsing the compressed bit-stream.
U.S. patent applications entitled “Methods of scene change detection and fade detection for indexing of video sequences,” (application Ser. No. 09/231,698, filed Jan. 14, 1999), “Methods of scene fade detection for indexing of video sequences,” (application Ser. No. 09/231,699, filed Jan. 14, 1999), “Methods of Feature Extraction for Video Sequences,” (application Ser. No. 09/236,838, Jan. 25, 1999), describe computationally simple techniques which build on certain aspects of Feng et al.'s approach and Yeo et al's approach to give accurate and simple scene change detection.
After a suspected scene or object change has been accurately located in a group of consecutive frames by use of a DC image extraction based technique, application of an appropriate bit allocation-based technique and/or an appropriate DC residual coefficient processing technique to P or B-frame information in the vicinity of the located scene quickly and accurately locates the cut point. This combined method is applicable to either MPEG-2 frame sequences or MPEG-4 multiple object sequences. In the MPEG-4 case, it is advantageous to use a weighted sum of the change in each object of the frame, using the area of each object as the weighting factor. Locating scene changes is useful for segmenting a video into shots.
U.S. patent application Ser. No. 09/345,452 entitled “Compressed Bit-Stream Segment Identification and Descriptor,” filed by Divakaran et al. on Jul. 1, 1999 describes a technique where magnitudes of displacements of inter-coded frames are determined based on the number bits in the compressed bit-stream associated with the inter-coded frames. The inter-coded frame includes macro-blocks. Each macro-block is associated with a respective portion of the inter-coded frame bits which represent the displacement from that macro-block to the closest matching intra-coded frame. The displacement magnitude is an average of the displacement magnitudes of all the macro-blocks associated with the inter-coded frame. The displacement magnitudes of those macro-blocks which are less than the average displacement magnitude are set to zero. The number of run-lengths of zero magnitude displacement macro-blocks is determined to identify the first inter-coded frame.
Motion Activity
Prior art motion activity work has mainly focused on extracting motion activity and using the motion activity for low level applications such as detecting scene or shot changes, see U.S. patent application Ser. No. 09/236,838 “Methods of Feature Extraction of Video,” filed by Divakaran et al. on Jan. 25, 1999, incorporated herein by reference.
Motion activity can also be used to gauge the general motion activity and the spatial distribution of motion activity in video shots. Such descriptors have been successful in video browsing applications by filtering out all the high action shots from low actions shots, see U.S. Pat. No. 5,552,832 “Run-length encoding sequence for video signals,” issued to Astle on Sep. 3, 1996. The strength of such descriptors lies in their computational simplicity.
It is desired to rapidly identify segments or shots of a video that include talking heads, and those shots that do not. Using motion activity, in the compressed domain, could speed up segmenting and indexing of reduced size videos for more sophisticated detection of talking heads, see for example, Y. Wang, Z Liu and J-C. Huang, “Multimedia Content Analysis,” IEEE Signal Processing Magazine, November 2000. Prior art talking head detection has been mainly focused on detecting colors, e.g., flesh, or detecting faces, which requires complex operations.